home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / DBDMA.idl < prev    next >
Text File  |  1996-05-01  |  2KB  |  82 lines

  1. /*
  2.      File:        DBDMA.idl
  3.  
  4.      Contains:    Descriptor Based DMA Interfaces
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __DBDMA_IDL__
  19. #define __DBDMA_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __CONDITIONALMACROS_IDL__
  25. #include <ConditionalMacros.idl>
  26. #endif
  27. #ifndef __PCI_IDL__
  28. #include <PCI.idl>
  29. #endif
  30. #if FOR_SYSTEM8_PREEMPTIVE
  31. #ifndef __CODEFRAGMENTS_IDL__
  32. #include <CodeFragments.idl>
  33. #endif
  34. #ifndef __DRIVERSERVICES_IDL__
  35. #include <DriverServices.idl>
  36. #endif
  37. #endif
  38.  
  39. #ifdef __SOMIDL__
  40.  
  41. #if FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE
  42. /* This structure defines the standard set of DB-DMA channel registers.*/
  43. typedef SOMLargeStruct            DBDMAChannelRegisters;        /* Derived from a struct of 256 bytes in size */
  44.  
  45. /* These constants define the DB-DMA channel control words and status flags.*/
  46. /*
  47.  This structure defines the DB-DMA channel command descriptor.
  48.  *** WARNING:    Endian-ness issues must be considered when performing load/store! ***
  49.  ***            DB-DMA specifies memory organization as quadlets so it is not correct
  50.  ***            to think of either the operation or result field as two 16-bit fields.
  51.  ***            This would have undesirable effects on the byte ordering within their
  52.  ***            respective quadlets. Use the accessor macros provided below.
  53. */
  54. typedef SOMLargeStruct            DBDMADescriptor;            /* Derived from a struct of 16 bytes in size */
  55.  
  56. typedef OpaquePtr                DBDMADescriptorPtr;            /* Substituted OpaquePtr for ``DBDMADescriptor*'' */
  57.  
  58. /* These constants define the DB-DMA channel command operations and modifiers.*/
  59. /* These constants define the DB-DMA channel command results.*/
  60. #if FOR_SYSTEM8_PREEMPTIVE
  61. typedef OpaquePtr                DBDMAChannelConnectionPtr;    /* Substituted OpaquePtr for ``void*'' */
  62.  
  63. /*
  64. /////////////////////////////////////////////////////////////////////////////////
  65.  Channel Connections
  66. */
  67. /*
  68. /////////////////////////////////////////////////////////////////////////////////
  69.  Client Buffer Assignment
  70. */
  71. /*
  72. /////////////////////////////////////////////////////////////////////////////////
  73.  Channel Control Operations
  74. */
  75. #endif
  76. #endif
  77.  
  78. #endif /* __SOMIDL__ */
  79.  
  80. #endif /* __DBDMA_IDL__ */
  81.  
  82.